home *** CD-ROM | disk | FTP | other *** search
/ Aminet 35 / Aminet 35 (2000)(Schatztruhe)[!][Feb 2000].iso / Aminet / dev / gui / gui4cli.lha / Gui4Cli / Docs / Tutorials / ListViews2.gc < prev    next >
Encoding:
Gui4CLI script  |  1999-11-23  |  2.6 KB  |  86 lines

  1. G4C
  2.  
  3. ; MULTISELECT LISTVIEWS
  4.  
  5. ; This is an example of multiselect listviews.
  6. ; Here again we have to give a file name which the listview will
  7. ; display.
  8.  
  9. ; We'll display the "guis:docs/printme" file in one and nothing in
  10. ; the other. The button transfers the selected lines
  11.  
  12.  
  13. WINBIG 112 91 371 290 ListViews2.gc
  14. WinType 11110001
  15. resinfo 14 640 512
  16. BOX 0 0 371 290 out button
  17.  
  18.  
  19. xOnLoad
  20.     GuiOpen ListViews2.gc
  21.  
  22. xOnClose
  23.     GuiQuit ListViews2.gc
  24.  
  25.  
  26. ; ----------------------------------------------------------
  27. ;       The 2 listviews
  28. ; ----------------------------------------------------------
  29.  
  30.  
  31. ; Note that a multiselect lv will "happen" whenever the user double
  32. ; clicks on an item. Here, we'll not do anything when the user
  33. ; double clicks.. (that's why the lv's don't have any commands attached)
  34.  
  35. ; ---- The Top listview
  36.  
  37. XLISTVIEW 3 3 364 142 "" Top.lv "guis:docs/printme" 10 MULTI
  38.     gadid 1
  39.     ; we'll give this one a monospace font..
  40.     gadfont #mono 8 000
  41.  
  42.  
  43. ; ---- The bottom listview (no file)
  44.  
  45. XLISTVIEW 4 168 362 118 "" Bottom.lv "" 10 MULTI
  46.     GadID 2
  47.  
  48.  
  49. ; ----------------------------------------------------------
  50. ;       A button to transfer selected items
  51. ; ----------------------------------------------------------
  52.  
  53. ; to do this we have to use the lvmulti command to see which of the
  54. ; lines in the Top listview have been selected. We use the internal
  55. ; variables to get our results - yes.. go read all about them..
  56.  
  57.  
  58. XBUTTON 3 146 323 21 "Copy Selected items to Bottom Listview -->>"
  59.     lvuse listviews2.gc 1      ; use the Top listview
  60.     lvmulti first              ; get the first selected record
  61.     while $$lv.line > ''       ; while there *are* selected items
  62.        dummy = $$lv.rec        ; store the selected line into a variable
  63.        lvuse listviews2.gc 2   ; use the other (Bottom) listview
  64.        lvadd $dummy            ; append the line to it
  65.        lvuse listviews2.gc 1   ; use the Top listview again
  66.        lvmulti off             ; unselect the line we just transfered
  67.        lvmulti next            ; get the next selected line
  68.     endwhile                   ; .. until there are no more - i.e., until
  69.                                ; the $$lv.line internal variable = ''
  70.  
  71. ; Note that in Gui4Cli 0 is a valid number.
  72. ; The top line of a listview is the 0th line.
  73. ; This may seem confusing in the begining but there is a weird kind of
  74. ; sense in it, so bear with me..
  75.  
  76. ; When the Current Line is the top line, then $$lv.line = 0
  77.  
  78. ; When Gui4Cli runs out of selected lines, the current line will
  79. ; be set to nothing (i.e. $$lv.line = '') and that's how we know that 
  80. ; we're finished.  
  81.  
  82. ; That's why we use the - while $$lv.line > '' - comparison above
  83.  
  84.  
  85.  
  86.